//
//  HMVisitorTableViewController.swift
//  微博
//
//  Created by 郭鉴增 on 2016/12/3.
//  Copyright © 2016年 郭鉴增. All rights reserved.
//

import UIKit



//访客视图控制器
class HMVisitorTableViewController: UITableViewController {
    
    //是否登录的标记
    var isLogin: Bool = HMUserAccountViewModel.sharedUserAccount.isLogin
    //访客视图
    var visitorView: HMVisitorView?
    
    //自定义视图 需要重写loadView
    override func loadView() {
        if isLogin == false {
            //未登录 -> 自定义的访客视图
            visitorView = HMVisitorView()
            
            //设置代理对象
            visitorView?.delegate = self
            //设置闭包
            visitorView?.callBack = { [weak self] in
                
                print("我是闭包调用过来的")
                self?.requestOAuth()
                
            }
            
            //设置自定义的视图
            view = visitorView
            //未登录情况下设置导航栏按钮
            setupNavUI()
        }else {
            //登录
            super.loadView()
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        
    }
    
    
    
    private func setupNavUI(){
        
        
        
        //重点
        navigationItem.leftBarButtonItem = UIBarButtonItem(title:"注册",target:self
            , action:#selector(registerButtonAction
            ))
        
        
        //重点
        navigationItem.rightBarButtonItem = UIBarButtonItem(title:"登录",target:self
            , action:#selector(loginButtonAction
            ))
    }
    
    //MARK: - 登录和注册处理逻辑
    @objc private func registerButtonAction() {
        print("注册")
        requestOAuth()
        
    }
    @objc private func loginButtonAction() {
        print("登录")
        requestOAuth()
    }
    
    //请求第三方登录
    private func requestOAuth() {
        let oAuth = HMOAuthViewController()

        let nav = HMNavigationViewController(rootViewController: oAuth)
        
        present(nav,animated: true, completion: nil)
        
    }
    
}
//MARK: - 代理方法HMVisitorTableViewController
extension HMVisitorTableViewController: HMVisitorViewDelegate {
    func loginOperation() {
        print("我是代理对象调用过来的")
    }
}
